<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//1.push:从数组的末尾追加一个或者多个数组项,返回添加后的数组的长度
			/*var arr=['a','b'];
			alert(arr.push('c','d'));
			alert(arr);*/
			
			//定义一个含有30个整型元素的数组，按顺序分别赋予从2开始的偶数；然后按顺序每五个数求出一个平均值，放在另一个数组中并输出。试编程。
			/*var arr=[];
			for(var i=1;i<=30;i++){//1,2,3,...30
				arr.push(i*2);
			}*/
			
			//arr=[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60]
//			var svg=0;
//			var newarr=[];
//			for(var j=0;j<arr.length;j++){
//				svg=svg+arr[j];//svg累加
//				if((j+1)%5==0){//j:下标，从0开始。个数从1开始     if每5次走一次。
//					svg=svg/5;
//					/*svg每次的平均值*/
//					newarr.push(svg);
//					svg=0;//重置0（每五个数求出一个平均值）
//				}
//			}
//			document.write(arr);
//			document.write('<br>');
//			document.write(newarr);
			//2.pop() 从数组末尾移除最后一项，减少数组的length值，然后返回移除的项
			/*var arr=[1,2,3,4,5];
			alert(arr.pop());//5
			alert(arr);//1，2，3，4*/
			
		//3.unshift()方法能够在数组前端添加任意个项,并返回新数组的长度。
		//4.shift() 方法能够移除数组中的第一个项并返回该项，同时将数组长度减 1。
		//var arr=[1,2,3,4,5];
		/*alert(arr.unshift('a'));
		alert(arr);*/
		
		//alert(arr.shift());//1
		//alert(arr);//2,3,4,5
		
		//5.reverse() 方法会反转数组项的顺序。
		//6.sort() 方法按字母表升序排列数组项。(ascii/unicode), sort() 方法会调用每个数组项的 toString() 转型方法
		/*var arr5=['apple','orange','banana','pear','add'];
		arr5.sort();
		alert(arr5);*/
		
		/*var arr=[1,4,7,2,5,8,3,6,9,0];
		arr.sort();
		alert(arr);*/
		/*function compare(value1, value2) {
			if (value1 < value2) {
				return -1;
			} else if (value1 > value2) {
				return 1;
			} else {
				return 0;
			}
		}*/
		
		/*function compare(a, b){
			return a - b;
		}*/
		/*var arr=[34,4,56,123,3,45,1234,56789,222,57,90];//按照数字的值排序。比较函数作为参数
		arr.sort(function compare(a, b){
			return a - b;
		});
		alert(arr);*/
		//乱序：随机数。？？？？？
		
		
		//7.slice() 方法它能够基于当前数组中的一或多个项创建一个新数组。可以接受一或两个参数，即要返回项的起始和结束位置，不包括结束位置。
		//8.splice() 方法，对数组进行删除、插入、替换，是最强大的数组方法。改变原数组
		//var colors = ["red", "green", "blue", "yellow", "purple"];
		//var newarr=colors.slice(2,5);//2:起始的下标，5结束的下标，但不包括结束的位置。
		//var newarr=colors.slice(1);//1个参数，从当前的下标开始直到结束的位置。
		//var newarr=colors.slice(1,-2);//如果是负数，从后往前从-1开始，不包括结束位置。
		//var newarr=colors.slice(-5,-2);//如果是负数，从后往前从-1开始，不包括结束位置。
		//var newarr=colors.slice(0,3);//如果是负数，从后往前从-1开始，不包括结束位置。
		//var newarr=colors.slice(-4,3);
		//var newarr=colors.slice(5,10);//溢出
		//alert(newarr);
		//alert(colors);
		
		//var arr=['a','b','c','d','e'];
		//arr.splice(3);//截取的意思。
		//alert(arr.splice(1,3));//1.开始的位置，2.截取的长度（去掉）  返回被截取的数组项。  删除
		//alert(arr.splice(2,3)); //删除
		//arr.splice(0,0,'x','y','z');//插入   第一个参数：开始的位置  第二个参数：截取的长度  ，后面的参数：插入的数组项。
		//arr.splice(1,2,'x','y');
		//arr.splice(-2,2);//负数从后往前。
		//alert(arr);
		
		
		
		//9.concat()：基于当前数组中的所有项创建一个新数组
//		var arr=['a','b','c','d','e'];
//		var arr1=['apple','banana'];
//		var arr2=[1,2,[3,4,[5,6]]];
//		console.log(arr.concat('f','g',arr1,arr2));//副本
		//console.log:输出具体的结构。
		//alert(arr);//不会改变原数组
		
		
		//10.join():将数组转字符串。
		//var arr=['a','b','c','d','e'];
		//alert(typeof arr);//object
		//alert(typeof arr.join('-'));//string,参数就是连接符号
		//alert(arr.join(''));//重点使用
		
		//11.split():将字符串转数组。
		/*var str='hellofjavafscript';
		alert(typeof str);//string
		alert(str.split('f'));//参数就是数组的分隔符。
		alert(typeof str.split('a'));//object*/
		</script>
	</body>
</html>
